package com.common.app.utls

import android.content.Context
import android.util.Log
import android.webkit.JavascriptInterface
import com.common.base.listener.OnMyJavascriptInterfaceListener

/**
 *
 * 作者：sosou
 *
 * 版本：1.0
 *
 * 创建日期：7/3/2023
 *
 * 描述：js通信接口
 *
 * 修订历史：
 *
 */
class MyJavascriptInterface {
    private var context: Context
    private var listener: OnMyJavascriptInterfaceListener? = null

    constructor(context: Context) {
        this.context = context
    }

    constructor(context: Context, listener: OnMyJavascriptInterfaceListener?) {
        this.context = context
        this.listener = listener
    }

    /**
     * 前端代码嵌入js：
     * imageClick 名应和js函数方法名一致
     *
     * @param src 图片的链接
     */
    @JavascriptInterface
    fun imageClick(src: String?) {
        Log.e("imageClick", "----点击了图片")
        if (src != null) {
            Log.e("src", src)
        }
    }

    /**
     * 前端代码嵌入js
     * 遍历 * 节点
     *
     * @param type     * 节点下type属性的值
     * @param item_pk item_pk属性的值
     */
    @JavascriptInterface
    fun textClick(type: String?, item_pk: String?) {
        Log.e("textClick", "----点击了文字")
        if (type != null) {
            Log.e("type", type)
        }
        if (item_pk != null) {
            Log.e("item_pk", item_pk)
        }
    }

    /**
     * 网页使用的js，方法无参数
     */
    @JavascriptInterface
    fun startFunction() {
        Log.e("startFunction", "----无参")
        listener?.onHwStartFunction(null)
    }

    /**
     * 网页使用的js，方法有参数，且参数名为data
     *
     * @param data 网页js里的参数名
     */
    @JavascriptInterface
    fun startFunction(data: String?) {
//        Log.e("startFunction", "----有参$data")
        listener?.onHwStartFunction(data)
    }
}